#include "component.h"
#include <QString>

// 构造函数实现
Component::Component(const QString& componentName)
    : name(componentName), power(0.0), isActive(false),efficiency(1.0)
{
}
// 双参数构造：初始化所有成员，新增
Component::Component(const QString& componentName, double eff)
    : name(componentName), power(0.0), isActive(false), efficiency(eff)
{
}

// 虚析构函数实现
Component::~Component()
{
    // 基类析构函数，如果需要清理资源，可以在这里进行
}

// 获取当前功率
double Component::getPower() const
{
    return power;
}

// 设置功率
void Component::setPower(double newPower)
{
    power = newPower;
}

// 获取组件状态信息
QString Component::getStatus() const
{
    return QString("%1: 功率=%2 kW, 状态=%3")
        .arg(name)
        .arg(power)
        .arg(isActive ? "运行中" : "停止");
}

// 获取组件名称
QString Component::getName() const
{
    return name;
}
// 激活状态设置（新增实现）
void Component::setActive(bool active)
{
    isActive = active;
}

// 激活状态获取（新增实现）
bool Component::getIsActive() const
{
    return isActive;
}

// 效率获取（新增实现）
double Component::getEfficiency() const
{
    return efficiency;
}
